/* tslint:disable */
/* eslint-disable */

import React, { CSSProperties, SVGAttributes, FunctionComponent } from 'react';
import { getIconColor } from './helper';

interface Props extends Omit<SVGAttributes<SVGElement>, 'color'> {
  size?: number;
  color?: string | string[];
}

const DEFAULT_STYLE: CSSProperties = {
  display: 'block',
};

const IconApp: FunctionComponent<Props> = ({ size, color, style: _style, ...rest }) => {
  const style = _style ? { ...DEFAULT_STYLE, ..._style } : DEFAULT_STYLE;

  return (
    <svg viewBox="0 0 1024 1024" width={size + 'px'} height={size + 'px'} style={style} {...rest}>
      <path
        d="M800 544a96 96 0 0 1 96 96v160a96 96 0 0 1-96 96h-160a96 96 0 0 1-96-96v-160a96 96 0 0 1 96-96z m-416 0a96 96 0 0 1 96 96v160a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96v-160a96 96 0 0 1 96-96z m416 64h-160a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h160a32 32 0 0 0 32-32v-160a32 32 0 0 0-32-32z m-416 0H224a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h160a32 32 0 0 0 32-32v-160a32 32 0 0 0-32-32zM720 112a192 192 0 1 1 0 384 192 192 0 0 1 0-384zM384 128a96 96 0 0 1 96 96v160a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V224a96 96 0 0 1 96-96z m336 48a128 128 0 1 0 0 256 128 128 0 0 0 0-256zM384 192H224a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h160a32 32 0 0 0 32-32V224a32 32 0 0 0-32-32z"
        fill={getIconColor(color, 0, '#333333')}
      />
    </svg>
  );
};

IconApp.defaultProps = {
  size: 18,
};

export default IconApp;
